package protect.week12;

/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/11/16 18:27
 * @package protect.week12
 * @description 507. 完美数
 * 对于一个 正整数，如果它和除了它自身以外的所有 正因子 之和相等，我们称它为 「完美数」。
 * <p>
 * 给定一个 整数 n， 如果是完美数，返回 true；否则返回 false。
 * <p>
 * <p>
 * <p>
 * 示例 1：
 * <p>
 * 输入：num = 28
 * 输出：true
 * 解释：28 = 1 + 2 + 4 + 7 + 14
 * 1, 2, 4, 7, 和 14 是 28 的所有正因子。
 * 示例 2：
 * <p>
 * 输入：num = 7
 * 输出：false
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/perfect-number
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

public class Ch02_CheckPerfectNumber {

    public boolean checkPerfectNumber(int num) {
        int count = 0;
        for (int i = 1; i <= (num / 2); i++) {
            if (num%i == 0){
                count += i;
            }
        }

        return count == num;
    }
}
